<?php

class Admin_Form_Fields extends Arm_Form_Fields
{

    /**
     * admin_navigation_menu:label
     *  
     * @return Zend_Form_Element_Text
     */
    public function structureLabel()
    {
        $structureLabel = new Zend_Form_Element_Text('label');
        $structureLabel->setLabel(Arm_Translate::_('Названия меню'));
        $structureLabel->setDescription(Arm_Translate::_('можно использовать буквы [a-z]'));
        $structureLabel->setRequired(true);
        $structureLabel->addValidator(new Arm_Validate_AllowChar('a-z\_'));
        $structureLabel->addFilter(new Zend_Filter_StripTags());
        $structureLabel->addFilter(new Arm_Filter_StringToLower());
        $structureLabel->addValidator(new Zend_Validate_StringLength(0, 50));
        $structureLabel->setAttrib('maxlength', 50);
        return $structureLabel;
    }
    
    /**
     * Поле select, установленные модули в системе.
     * 
     *  @return Zend_Form_Element_Select
     */
    public function idModule()
    {
       $idModules = new  Zend_Form_Element_Select('id_module');
       $idModules->setLabel(Arm_Translate::_('Модули'));
       $options = array();
       $module = Arm_Module::getInstance()->getModulesDb();
           foreach ($module as $v) {
               $options[$v['id']] = $v['name'];
           }
       $idModules->setMultiOptions($options);
       $idModules->setRequired(true);
       return $idModules;
    }
    

    /**
     * Таблица::поле admin_langs::name
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "name".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function langsName()
    {
        $langsName = new Zend_Form_Element_Text('name');
        $langsName->setLabel(Arm_Translate::_('Ведите данные'));
        $langsName->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $langsName->setAllowEmpty(true);
        $langsName->addFilter(new Zend_Filter_StripTags());
        $langsName->addValidator(new Zend_Validate_StringLength(0, 2));
        $langsName->setAttrib('maxlength', 2);
        return $langsName;
    }

    /**
     * Таблица::поле admin_langs::title
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "title".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function langsTitle()
    {
        $langsTitle = new Zend_Form_Element_Text('title');
        $langsTitle->setLabel(Arm_Translate::_('Ведите данные'));
        $langsTitle->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $langsTitle->setAllowEmpty(true);
        $langsTitle->addFilter(new Zend_Filter_StripTags());
        $langsTitle->addValidator(new Zend_Validate_StringLength(0, 20));
        $langsTitle->setAttrib('maxlength', 20);
        return $langsTitle;
    }

    /**
     * Таблица::поле admin_langs::default
     * 
     * Возвращает элемент формы Zend_Form_Element_Select с
     * именем "default".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Select
     */
    public function langsDefault()
    {
        $lists = array(
                        '1'=>'Label_1',
                        '0'=>'Label_0',
                       );
        
        $langsDefault = new Zend_Form_Element_Select('default');
        $langsDefault->setLabel(Arm_Translate::_('Выбирите'));
        $langsDefault->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $langsDefault->setMultiOptions($lists);
        $langsDefault->setValue('0');
        $langsDefault->setRequired(true);
        return $langsDefault;
    }

    


    /**
     * Таблица::поле admin_navigation_data::uri
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "uri".
     *        
     * @return Zend_Form_Element_Text
     */
    public function navigationUri()
    {
        $navigationUri = new Zend_Form_Element_Text('uri');
        $navigationUri->setLabel(Arm_Translate::_('Урл'));
        $navigationUri->setRequired(true);
        $navigationUri->addFilter(new Zend_Filter_StripTags());
        $navigationUri->addValidator(new Zend_Validate_StringLength(0, 255));
        $navigationUri->setAttrib('maxlength', 255);
        return $navigationUri;
    }

    /**
     * Таблица::поле admin_navigation_data::target
     * 
     * Возвращает элемент формы Zend_Form_Element_Select с
     * именем "target".
     *        
     * @return Zend_Form_Element_Select
     */
    public function navigationTarget()
    {
        $options = array(
                            "_parent"=>"Parent",
                            "_blank"=>"Blank",
                            "_self"=>"Self",
                            "_top"=>"Top"
                        );
        $navigationTarget = new Zend_Form_Element_Select('target');
        $navigationTarget->setLabel(Arm_Translate::_('Target'));
        $navigationTarget->addMultiOptions($options);
        $navigationTarget->setValue('_parent');
        return $navigationTarget;
    }

    /**
     * Таблица::поле admin_navigation_data::class
     * 
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function navigationClass()
    {
        $navigationClass = new Zend_Form_Element_Text('class');
        $navigationClass->setLabel(Arm_Translate::_('СSS класс'));
        $navigationClass->setAllowEmpty(true);
        $navigationClass->addFilter(new Zend_Filter_StripTags());
        $navigationClass->addValidator(new Zend_Validate_StringLength(0, 20));
        $navigationClass->setAttrib('maxlength', 20);
        $navigationClass->setValue('navigationNode');
        return $navigationClass;
    }

    /**
     * Таблица::поле admin_navigation_data::resource
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "resource".
     *        
     *        
     * @return Zend_Form_Element_Text
     */
    public function navigationResource()
    {
        $navigationResource = new Zend_Form_Element_Text('resource');
        $navigationResource->setLabel(Arm_Translate::_('Ресурс'));
        $navigationResource->setDescription(Arm_Translate::_('Ресурс для Acl'));
        $navigationResource->setAllowEmpty(true);
        $navigationResource->addFilter(new Zend_Filter_StripTags());
        $navigationResource->addValidator(new Zend_Validate_StringLength(0, 50));
        $navigationResource->setAttrib('maxlength', 50);
        return $navigationResource;
    }

    /**
     * Таблица::поле admin_navigation_data::privilege
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "privilege".
     *        
     *        
     * @return Zend_Form_Element_Text
     */
    public function navigationPrivilege()
    {
        $navigationPrivilege = new Zend_Form_Element_Text('privilege');
        $navigationPrivilege->setLabel(Arm_Translate::_('Привелегия'));
        $navigationPrivilege->setDescription(Arm_Translate::_('Привелегия для Acl'));
        $navigationPrivilege->setAllowEmpty(true);
        $navigationPrivilege->addFilter(new Zend_Filter_StripTags());
        $navigationPrivilege->addValidator(new Zend_Validate_StringLength(0, 50));
        $navigationPrivilege->setAttrib('maxlength', 50);
        return $navigationPrivilege;
    }

    /**
     * Таблица::поле admin_navigation_data::visible
     * 
     * Возвращает элемент формы Zend_Form_Element_Select с
     * именем "visible".
     *        
     *        
     * @return Zend_Form_Element_Select
     */
    public function navigationVisible()
    {
        $lists = array(
                        '1'=>Arm_Translate::_('Да'),
                        '0'=>Arm_Translate::_('Нет'),
                       );
        
        $navigationVisible = new Zend_Form_Element_Select('visible');
        $navigationVisible->setLabel(Arm_Translate::_('Показывать'));
        $navigationVisible->setMultiOptions($lists);
        $navigationVisible->setValue('1');
        $navigationVisible->setRequired(true);
        return $navigationVisible;
    }



    /**
     * Таблица::поле admin_navigation_data_translate::label
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "label".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function navigationLabel()
    {
        $navigationLabel = new Zend_Form_Element_Text('label');
        $navigationLabel->setLabel(Arm_Translate::_('Названия Урла'));
        $navigationLabel->setDescription(Arm_Translate::_('Главная, Форум...'));
        $navigationLabel->setRequired(true);
        $navigationLabel->addFilter(new Zend_Filter_StripTags());
        $navigationLabel->addValidator(new Zend_Validate_StringLength(0, 255));
        $navigationLabel->setAttrib('maxlength', 255);
        return $navigationLabel;
    }

    /**
     * Таблица::поле admin_navigation_data_translate::title
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "title".
     *        
     * @return Zend_Form_Element_Text
     */
    public function navigationTitle()
    {
        $navigationTitle = new Zend_Form_Element_Text('title');
        $navigationTitle->setLabel(Arm_Translate::_('Описание'));
        $navigationTitle->setRequired(true);
        $navigationTitle->addFilter(new Zend_Filter_StripTags());
        $navigationTitle->addValidator(new Zend_Validate_StringLength(0, 255));
        $navigationTitle->setAttrib('maxlength', 255);
        return $navigationTitle;
    }





    /**
     * Таблица::поле admin_page::uri
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "uri".
     *        
     * @todo Метод автоматически сгенерирован
     * системой, подкорректируйте его. 
     * Задайте Типовое значение $label для текущего
     * модуля внутри метода.
     *        
     * @return Zend_Form_Element_Text
     */
    public function pageUri()
    {
        $pageUri = new Zend_Form_Element_Text('uri');
        $pageUri->setLabel(Arm_Translate::_('Ведите данные'));
        $pageUri->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $pageUri->setRequired(true);
        $pageUri->addFilter(new Zend_Filter_StripTags());
        $pageUri->addValidator(new Zend_Validate_StringLength(0, 255));
        $pageUri->setAttrib('maxlength', 255);
        return $pageUri;
    }





    /**
     * Таблица::поле admin_page_translate::title
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "title".
     *        
     * @return Zend_Form_Element_Text
     */
    public function pageTitle()
    {
        $pageTitle = new Zend_Form_Element_Text('title');
        $pageTitle->setLabel(Arm_Translate::_('Ведите данные'));
        $pageTitle->setDescription(Arm_Translate::_('Описание, ведите здесь'));
        $pageTitle->setAllowEmpty(true);
        $pageTitle->addFilter(new Zend_Filter_StripTags());
        $pageTitle->addValidator(new Zend_Validate_StringLength(0, 255));
        $pageTitle->setAttrib('maxlength', 255);
        return $pageTitle;
    }

    /**
     * Таблица::поле admin_page_translate::description
     * 
     * Возвращает элемент формы Zend_Form_Element_Textarea с
     * именем "description".
     * 
     * @return Zend_Form_Element_Textarea
     */
    public function pageDescription()
    {
        $pageDescription = new Zend_Form_Element_Textarea('description');
        $pageDescription->setLabel(Arm_Translate::_('Meta описание'));
        $pageDescription->setAllowEmpty(true);
        $pageDescription->addFilter(new Zend_Filter_StripTags());
        $pageDescription->addValidator(new Zend_Validate_StringLength(0, 500));
        $pageDescription->setAttribs(array('cols'=>40, 'rows'=>10));
        return $pageDescription;
    }

    /**
     * Таблица::поле admin_page_translate::keywords
     * 
     * Возвращает элемент формы Zend_Form_Element_Text с
     * именем "keywords".
     *        
     * @return Zend_Form_Element_Text
     */
    public function pageKeywords()
    {
        $pageKeywords = new Zend_Form_Element_Text('keywords');
        $pageKeywords->setLabel(Arm_Translate::_('Meta ключевые слова'));
        $pageKeywords->setAllowEmpty(true);
        $pageKeywords->addFilter(new Zend_Filter_StripTags());
        $pageKeywords->addValidator(new Zend_Validate_StringLength(0, 255));
        $pageKeywords->setAttrib('maxlength', 255);
        return $pageKeywords;
    }

    /**
     * Таблица::поле admin_page_translate::body
     * 
     * Возвращает элемент формы Zend_Form_Element_Textarea с
     * именем "body".
     * 
     * @return Zend_Form_Element_Textarea
     */
    public function pageBody()
    {
        $pageBody = new Zend_Form_Element_Textarea('body');
        $pageBody->setLabel(Arm_Translate::_('Текст'));
        $pageBody->setDescription(Arm_Translate::_('Текст, код html страницы'));
        $pageBody->setAllowEmpty(true);
        //$pageBody->addValidator(new Zend_Validate_StringLength(100, 3000));
        $pageBody->setAttribs(array('cols'=>80, 'rows'=>20));
        return $pageBody;
    }


}

